CDocument এবং CView ক্লাসের ব্যবহার

Document/View আর্কিটেকচার (Document/View Architecture) - এমএফসি (MFC) - Microsoft Technologies

341

MFC (Microsoft Foundation Classes) অ্যাপ্লিকেশন তৈরি করার সময় CDocument এবং CView ক্লাস দুটি গুরুত্বপূর্ণ ভূমিকা পালন করে। এগুলি Document/View Architecture-এর অংশ, যা MFC এর ডেটা ম্যানিপুলেশন এবং ইউজার ইন্টারফেসের মধ্যে পরিষ্কার বিভাজন তৈরি করে। এই আর্কিটেকচারটি অ্যাপ্লিকেশনটির ডেটা এবং ইউজার ইন্টারফেসের মধ্যে সম্পর্ককে সহজভাবে মডেল করতে সাহায্য করে।


CDocument ক্লাস

CDocument ক্লাস MFC অ্যাপ্লিকেশনটির ডেটা ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। এটি অ্যাপ্লিকেশনটির ডেটা ধারণ করে এবং সেই ডেটার সাথে সম্পর্কিত সমস্ত লজিক পরিচালনা করে। সাধারণত, এটি ডেটার খোঁজা, আপডেট, সংরক্ষণ এবং লোড করার কাজ করে। CDocument ক্লাসের ব্যবহার অ্যাপ্লিকেশনটির ডেটা মডেলের প্রতিনিধিত্ব হিসেবে কাজ করে।

CDocument ক্লাসের কিছু গুরুত্বপূর্ণ ফাংশন:

  • OnNewDocument(): নতুন ডকুমেন্ট তৈরি করার জন্য ব্যবহৃত হয়।
  • OnOpenDocument(): ডকুমেন্ট খুলতে ব্যবহৃত হয়।
  • OnSaveDocument(): ডকুমেন্ট সেভ করার জন্য ব্যবহৃত হয়।
  • Serialize(): ডেটা সেভ বা লোড করার জন্য ব্যবহৃত হয়। এটি ডকুমেন্টের ডেটাকে সঞ্চয় করতে বা পুনরুদ্ধার করতে সাহায্য করে।

Code Example:

BOOL CMyDocument::OnNewDocument()
{
    if (!CDocument::OnNewDocument())
        return FALSE;
    
    // নতুন ডকুমেন্ট তৈরি করার লজিক
    return TRUE;
}

এখানে, OnNewDocument() ফাংশনটি একটি নতুন ডকুমেন্ট তৈরি করার জন্য ব্যবহৃত হয়।


CView ক্লাস

CView ক্লাস হল অ্যাপ্লিকেশনটির ভিউ অংশ, যা ব্যবহারকারীর জন্য ডেটা প্রদর্শন করে। এটি ডেটার ইউজার ইন্টারফেস (UI) রেন্ডারিং এবং ইউজারের ইনপুট (যেমন, মাউস ক্লিক বা কীবোর্ড টাইপ) পরিচালনা করে। CView ক্লাস সাধারণত ডকুমেন্ট থেকে ডেটা অ্যাক্সেস করে এবং সেটি ব্যবহারকারীকে প্রদর্শন করে।

CView ক্লাসের সাথে যুক্ত কিছু গুরুত্বপূর্ণ ফাংশন:

  • OnDraw(): ভিউ রেন্ডার করার জন্য ব্যবহৃত হয়। এই ফাংশনটি ভিউতে ডেটা প্রদর্শন করার কাজ করে।
  • OnInitialUpdate(): ভিউ প্রথমবারের মতো আপডেট হওয়ার সময় কল হয়। এটি ভিউতে প্রাথমিক সেটআপ করতে ব্যবহৃত হয়।
  • OnUpdate(): ডকুমেন্টের পরিবর্তন হলে এটি কল হয় এবং ভিউকে রিফ্রেশ করে।

Code Example:

void CMyView::OnDraw(CDC* pDC)
{
    CMyDocument* pDoc = GetDocument();
    // ডকুমেন্ট থেকে ডেটা নিয়ে এটি প্রদর্শন করবে
    pDC->TextOut(100, 100, _T("Hello, MFC!"));
}

এখানে, OnDraw() ফাংশনটি ব্যবহার করে ভিউতে ডেটা রেন্ডার করা হয়েছে, যেখানে pDC->TextOut() ব্যবহার করে কিছু টেক্সট ডিসপ্লে করা হয়েছে।


CDocument এবং CView এর মধ্যে সম্পর্ক

  • CDocument ক্লাস অ্যাপ্লিকেশনের ডেটা পরিচালনা করে, কিন্তু এটি নিজে কোন ভিউ বা ইউজার ইন্টারফেস প্রদর্শন করে না।
  • CView ক্লাস অ্যাপ্লিকেশনটির ইউজার ইন্টারফেস (UI) প্রতিনিধিত্ব করে এবং ডেটা প্রদর্শন করে।
  • Document/View Architecture অনুসরণ করে, ডেটা এবং ভিউ আলাদা থাকে, কিন্তু তারা একে অপরের সাথে যুক্ত থাকে। ডেটার পরিবর্তন হলে CView ক্লাসটি সেই পরিবর্তন আপডেট করে এবং CDocument ক্লাসে প্রযোজ্য পরিবর্তন কার্যকর করে।

সারাংশ

CDocument এবং CView ক্লাস MFC অ্যাপ্লিকেশনগুলিতে ডেটা ম্যানেজমেন্ট এবং ইউজার ইন্টারফেসের মধ্যে একটি স্পষ্ট বিভাজন তৈরি করে। CDocument ক্লাস অ্যাপ্লিকেশনের ডেটা ধারণ এবং পরিচালনা করে, যেমন ডেটা লোড, সেভ এবং আপডেট করা। অন্যদিকে, CView ক্লাস ডেটা প্রদর্শন এবং ইউজারের ইনপুট পরিচালনা করে। এই আর্কিটেকচারটি অ্যাপ্লিকেশনটির ডেটা এবং ইউজার ইন্টারফেসের মধ্যে সম্পর্ক সুনির্দিষ্টভাবে ব্যাখ্যা করে এবং সফটওয়্যার ডিজাইনে স্বচ্ছতা ও লচিলতা আনে।

Content added By
Promotion

Are you sure to start over?

Loading...